﻿@import url('https://fonts.googleapis.com/css2?family=Fira+Mono:wght@400;500;700&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Noto+Sans+Mono:wght@400;500;600;700&display=swap');

html, body, h1, h2, h3, h4, h5, h6, p, div, body, html, a {
    font-family: 'Instrument Sans', 'sans-serif' !important;
}

/* CSS Global Variables */
:root {
    /*--insight-red: rgba(167,77,77);*/
    --color-tertiary: rgb(208 208 208);
    --color-fourth: rgb(55,55,55);
    --color-fifth: rgb(20,20,20);
    --insight-blue: rgb(60 110 165);
    --color-purple: rgb(148 75 249);
    --highlight-yellow: #fff18d;
    --offcanvas-animation: transform .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), left .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), right .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), margin-left .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), margin-right .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), width .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), max-width .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), height .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), max-height .38s cubic-bezier(0.26, 0.24, 0.3, 0.98), filter .3s !important;
    --generic-transition: all .2s;
    --offcanvas-width: 450px;
    --offcanvas-offset: -450px;
    --offcanvas-width-small: 300px;
    --offcanvas-offset-small: -300px;
    --menu-shadow: 0px 5px 20px #01010180;
    --form-control-radius: 13px;
    --btn-radius: 10px;
    --btn-radius-small: 4px;
}

:root {
    --insight-red: #BD4444;
    --insight-red-dark: #8C2D2D;
    --insight-yellow: #f3b50f;
    --insight-yellow-dark: #d79f09;
    --insight-yellow-highlight: #FFF18D;
    --insight-purple: #6D36BA;
    --insight-purple-dark: #462378;
    --insight-blue: #2c7dd9;
    --insight-blue-dark: #0d57aa;
    --insight-green: #269940;
    --insight-green-dark: #236f29;
    --insight-black: #141414;
    --insight-blackish: #202020;
    --insight-grey-dark: #323232;
    --insight-grey-medium: #666666;
    --insight-grey-lightish: #A0A0A0;
    --insight-grey-light: #DBDBDB;
    --insight-grey-lighter: #F1F1F1;
    --insight-grey-lightest: #EEEEEE;
    --insight-white: #FAFAFA;
    --red-warning: #e63232;
}

/* Sizing main containers */
body {
    color: rgba(255,255,255);
    background-color: rgba(55,55,55);
    overflow: hidden;
    height: 100dvh;
    /* For fun times */
    /*transform: scale(-1,1);*/
}

#page_wrapper {
    height: 100dvh;
    min-height: 10dvh;
    max-height: 100dvh;
    margin: 0px !important;
    display: flex;
    flex-direction: column;
    /*border: 3px solid #00d9ff;*/
}

#universalHeader {
    /*border: 3px solid white;*/
}

#main_content {
    display: flex;
    flex-grow: 1;
    flex-direction: row;
    align-items: stretch;
    min-height: 0px; /* DO NOT REMOVE THIS */
    /*border: 3px solid red;*/
}

#contentpage {
    display: flex;
    min-width: 0px;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: auto;
}

#contentpage > * {
    width: auto;
}

#contentpage > .row {
    width: 100%;
    justify-content: center;
}

#menuOffcanvas,
#controlsOffcanvas, #contentpage {
    height: 100%;
    transition: var(--offcanvas-animation);
}

#menuOffcanvas, #controlsOffcanvas {
    overflow: auto;
}

#menuOffcanvas {
    width: var(--offcanvas-width-small) !important;
    min-width: var(--offcanvas-width-small) !important;
}

#controlsOffcanvas {
    width: var(--offcanvas-width) !important;
    min-width: var(--offcanvas-width) !important;
}

#menuOffcanvas:not(.visible) {
    margin-left: var(--offcanvas-offset-small) !important;
}

#controlsOffcanvas:not(.visible) {
    margin-right: var(--offcanvas-offset) !important;
}

/* Colors */
.bg-insight {
    background-color: var(--insight-red) !important;
}

.bg-tertiary {
    background-color: var(--color-tertiary) !important;
}

.bg-fourth {
    background-color: var(--color-fourth) !important;
}

.bg-fifth {
    background-color: var(--color-fifth) !important;
}

.bg-muted-blue {
    color: white !important;
    background-color: var(--insight-blue) !important;
}

.bg-purple {
    background-color: var(--color-purple) !important;
}

/* Intermediate Bootstrap classes */
.px-45 {
    padding-left: 9%;
    padding-right: 9%;
}

.fs-55 {
    font-size: 1.125rem !important;
}

.fs-7 {
    font-size: .8rem;
}

.fs-8 {
    font-size: .7rem;
}

.fw-400 {
    font-weight: 400;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

#logo_img {
    transition: .5s;
}

#logo_img:hover {
    filter: drop-shadow(0px 0px 3px rgba(255, 198, 21, 1));
}

.rounded {
    border-radius: var(--btn-radius) !important;
}

/* 
    Old insight logo with bulb
    Hold onto this for potential future use
*/

/*.insightlogoholder {
    position: relative;
    height: 40px;
    width: 138px;
    margin: 15px;
}

.logobutton {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 40px;
    width: 138px;
}

.bulb, .nobulb {
    transition: 0.4s;
}

.bulb {
    pointer-events: none;
}

.insightlogoholder:hover > .bulb {
    filter: drop-shadow(0px 0px 1px rgba(255,255,255)) drop-shadow(0px 0px 2px rgb(247 238 129)) drop-shadow(0px 0px 3px rgb(235 223 73)) drop-shadow(0px 0px 4px rgb(225 213 80)) drop-shadow(0px 0px 5px rgb(221 209 64));
    transform: scale(1.5) translate(-32.3%, -30%);
}

.insightlogoholder:hover > .nobulb {
    filter: invert(7%) sepia(25%) saturate(1.5) drop-shadow(0px 0px 3px rgb(194 184 64)) drop-shadow(0px 6px 1px rgba(45,45,45, 0.6)) drop-shadow(0px 6px 3px rgba(45,45,45, 0.8));
}
*/

/*#sidebar {
    text-align: center;
    color: rgba(255,255,255);
    background-color: rgba(77,77,77);
    min-width: 250px;
    max-width: 250px;
    overflow: overlay;
    z-index: 900;
    position: fixed;
    transition: 0.5s;
    box-shadow: 7px 7px 7px rgba(0,0,0, 0.33);
}*/

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

/*#sidebar::-webkit-scrollbar {
    width: 0px;
}*/

::-webkit-scrollbar-track {
    background: rgba(255,255,255, 0) !important;
}

::-webkit-scrollbar-thumb {
    background: rgba(175,175,175,0.5);
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(175,175,175,0.65);
}

::-webkit-scrollbar-corner {
    background: rgba(255,255,255, 0) !important;
}

/*#contentpage {
    margin-top: 50px;
}

#mNav_content {
    font-weight: 300;
    font-size: 17px;
    width: calc(100% - 250px);
    padding: 25px;
    margin-left: 250px;
    transition: 0.5s;
    overflow: overlay;
}

#mNav_content.active {
    width: 100%;
    padding: 25px;
    margin-left: 0px;
}*/

/*@media all and (max-width: 575px) {
    #sidebar.active {
        min-width: 100%;
        margin-left: 0px;
        position: fixed;
        height: calc(100% - 175px);
    }

    #sidebar {
        margin-left: -100%;
    }

    #mNav_content {
        width: 100%;
        margin-left: 0px;
    }

    #mNav_content.active {
        position: fixed;
    }
}*/

/*.notificationdropdown {
    border: none;
    background-color: transparent;
    position: relative;*/
/*filter: drop-shadow(3px 3px 3px rgba(0,0,0));*/
/*transition: 0.2s;
}

.notificationdropdown:hover {
    transform: scale(1.1);
}

.notificationbell {
    color: rgba(255,255,255);
}

.notificationdropdown:hover > .notificationbell {
    
    -webkit-transform-origin: 50% 4px;
    -moz-animation: ring 2s 0s ease-in-out 1;
    -moz-transform-origin: 50% 4px;
    animation: ring 2s 0s ease-in-out 1;
    transform-origin: 50% 4px;
}*/

/*@-webkit-keyframes ring {
    0% {
        -webkit-transform: rotateZ(0);
    }

    2% {
        -webkit-transform: rotateZ(30deg);
    }

    6% {
        -webkit-transform: rotateZ(-28deg);
    }

    10% {
        -webkit-transform: rotateZ(34deg);
    }

    14% {
        -webkit-transform: rotateZ(-32deg);
    }

    18% {
        -webkit-transform: rotateZ(30deg);
    }

    22% {
        -webkit-transform: rotateZ(-28deg);
    }

    26% {
        -webkit-transform: rotateZ(26deg);
    }

    30% {
        -webkit-transform: rotateZ(-24deg);
    }

    34% {
        -webkit-transform: rotateZ(22deg);
    }

    38% {
        -webkit-transform: rotateZ(-20deg);
    }

    42% {
        -webkit-transform: rotateZ(18deg);
    }

    46% {
        -webkit-transform: rotateZ(-16deg);
    }

    50% {
        -webkit-transform: rotateZ(14deg);
    }

    54% {
        -webkit-transform: rotateZ(-12deg);
    }

    58% {
        -webkit-transform: rotateZ(10deg);
    }

    62% {
        -webkit-transform: rotateZ(-8deg);
    }

    66% {
        -webkit-transform: rotateZ(6deg);
    }

    70% {
        -webkit-transform: rotateZ(-4deg);
    }

    74% {
        -webkit-transform: rotateZ(2deg);
    }

    78% {
        -webkit-transform: rotateZ(-1deg);
    }

    82% {
        -webkit-transform: rotateZ(1deg);
    }

    86% {
        -webkit-transform: rotateZ(0);
    }

    100% {
        -webkit-transform: rotateZ(0);
    }
}

@-moz-keyframes ring {
    0% {
        -moz-transform: rotate(0);
    }

    2% {
        -moz-transform: rotate(30deg);
    }

    6% {
        -moz-transform: rotate(-28deg);
    }

    10% {
        -moz-transform: rotate(34deg);
    }

    14% {
        -moz-transform: rotate(-32deg);
    }

    18% {
        -moz-transform: rotate(30deg);
    }

    22% {
        -moz-transform: rotate(-28deg);
    }

    26% {
        -moz-transform: rotate(26deg);
    }

    30% {
        -moz-transform: rotate(-24deg);
    }

    34% {
        -moz-transform: rotate(22deg);
    }

    38% {
        -moz-transform: rotate(-20deg);
    }

    42% {
        -moz-transform: rotate(18deg);
    }

    46% {
        -moz-transform: rotate(-16deg);
    }

    50% {
        -moz-transform: rotate(14deg);
    }

    54% {
        -moz-transform: rotate(-12deg);
    }

    58% {
        -moz-transform: rotate(10deg);
    }

    62% {
        -moz-transform: rotate(-8deg);
    }

    66% {
        -moz-transform: rotate(6deg);
    }

    70% {
        -moz-transform: rotate(-4deg);
    }

    74% {
        -moz-transform: rotate(2deg);
    }

    78% {
        -moz-transform: rotate(-1deg);
    }

    82% {
        -moz-transform: rotate(1deg);
    }

    86% {
        -moz-transform: rotate(0);
    }

    100% {
        -moz-transform: rotate(0);
    }
}

@keyframes ring {
    0% {
        transform: rotate(0);
    }

    2% {
        transform: rotate(30deg);
    }

    6% {
        transform: rotate(-28deg);
    }

    10% {
        transform: rotate(34deg);
    }

    14% {
        transform: rotate(-32deg);
    }

    18% {
        transform: rotate(30deg);
    }

    22% {
        transform: rotate(-28deg);
    }

    26% {
        transform: rotate(26deg);
    }

    30% {
        transform: rotate(-24deg);
    }

    34% {
        transform: rotate(22deg);
    }

    38% {
        transform: rotate(-20deg);
    }

    42% {
        transform: rotate(18deg);
    }

    46% {
        transform: rotate(-16deg);
    }

    50% {
        transform: rotate(14deg);
    }

    54% {
        transform: rotate(-12deg);
    }

    58% {
        transform: rotate(10deg);
    }

    62% {
        transform: rotate(-8deg);
    }

    66% {
        transform: rotate(6deg);
    }

    70% {
        transform: rotate(-4deg);
    }

    74% {
        transform: rotate(2deg);
    }

    78% {
        transform: rotate(-1deg);
    }

    82% {
        transform: rotate(1deg);
    }

    86% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(0);
    }
}*/

/* Notifications */
#notificationbell:hover {
    -webkit-animation: wobble-hor-top 0.7s both;
    animation: wobble-hor-top 0.7s both;
}

#userNotificationIcon:hover {
    -webkit-animation: pulsate-fwd 0.7s both;
    animation: pulsate-fwd 0.7s both;
}

/* ----------------------------------------------
 * Generated by Animista on 2023-9-13 14:36:0
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation wobble-hor-top
 * ----------------------------------------
 */
@-webkit-keyframes wobble-hor-top {
    0%, 100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }

    15% {
        -webkit-transform: translateX(-4px) rotate(20deg);
        transform: translateX(-4px) rotate(20deg);
    }

    30% {
        -webkit-transform: translateX(3px) rotate(-20deg);
        transform: translateX(3px) rotate(-20deg);
    }

    45% {
        -webkit-transform: translateX(-3px) rotate(10deg);
        transform: translateX(-3px) rotate(10deg);
    }

    60% {
        -webkit-transform: translateX(2px) rotate(-6deg);
        transform: translateX(2px) rotate(-6deg);
    }

    75% {
        -webkit-transform: translateX(-1px) rotate(3deg);
        transform: translateX(-1px) rotate(3deg);
    }
}

@keyframes wobble-hor-top {
    0%, 100% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }

    15% {
        -webkit-transform: translateX(-4px) rotate(20deg);
        transform: translateX(-4px) rotate(20deg);
    }

    30% {
        -webkit-transform: translateX(3px) rotate(-20deg);
        transform: translateX(3px) rotate(-20deg);
    }

    45% {
        -webkit-transform: translateX(-3px) rotate(10deg);
        transform: translateX(-3px) rotate(10deg);
    }

    60% {
        -webkit-transform: translateX(2px) rotate(-6deg);
        transform: translateX(2px) rotate(-6deg);
    }

    75% {
        -webkit-transform: translateX(-1px) rotate(3deg);
        transform: translateX(-1px) rotate(3deg);
    }
}

/* ----------------------------------------------
 * Generated by Animista on 2025-5-19 13:29:49
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation pulsate-fwd
 * ----------------------------------------
 */
.pulsate-fwd {
    -webkit-animation: pulsate-fwd 0.5s ease-in-out both;
    animation: pulsate-fwd 0.5s ease-in-out both;
}
@-webkit-keyframes pulsate-fwd {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes pulsate-fwd {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.checkboxinput{
    /* text-align: center; */
    /* word-wrap:break-word; */
}
.checkboxinput label{
    padding-left: 0.4em!important;
    display: inline;
}

#mNav_lbl_notification {
    min-width: 13px;
    min-height: 13px;
}

.notificationcircle {
    border-radius: 50%;
    position: relative;
}

.notificationnumber {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: rgba(255,255,255);
    font-size: 10px;
    font-weight: 700 !important;
    position: relative;
    background-color: rgb(255 54 54);
    min-width: 13px;
    min-height: 10px;
    text-align: center;
    border-radius: 50%;
    right: 9px;
}

.notificationcirclebtn {
    border-radius: 50%;
    position: absolute;
    top: 23px;
    left: calc(100% - 35px);
    z-index: -1;
}

#mNav_lbl_notificationbtn {
    min-width: 13px;
    min-height: 13px;
}

/*.navbar {
    --bs-navbar-padding-y: 0;
}*/

.nav-link, #sidebarCollapse {
    display: block;
    font-weight: 300;
    font-size: 20px;
    max-width: 100%;
    padding: 5px;
    background-color: transparent;
    border: none;
    color: rgba(255,255,255);
}

.nav-link:hover, #sidebarCollapse:hover {
    color: rgba(255,255,255);
}

.nav-link:focus {
    color: rgba(255,255,255);
}

.navbar-nav, .nav-item {
    max-width: 100%;
}

.navbar-custom {
    width: 100%;
}

#lblHdrUserID, .nav-link {
    display: inline-flex;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#lblHdrUserID, .nav-link:after {
    margin-top: auto;
    margin-bottom: auto;
}

#userDropdown {
    /*filter: drop-shadow(3px 3px 3px rgba(0,0,0));*/
}

#universalHeader {
    z-index: 110 !important;
}

/* Form inputs in controls offcanvas */
#controlsOffcanvas .form-control, #controlsOffcanvas .form-select {
    border-radius: var(--form-control-radius);
}

#controlsOffcanvas .btn {
    border-radius: var(--btn-radius);
    font-weight: 700;
}

/* Universal Button Styling */
.textboxinput {
    width: 100%;
    height: 30px;
    color: rgba(55,55,55);
    padding-left: 10px;
    outline: 2px solid rgba(77,77,77);
    border-radius: 10px;
    margin-top: 5px;
    margin-bottom: 20px;
    border: none;
    transition: 0.15s;
}

.textboxinput:focus-visible {
    outline: 2px solid rgba(77,147,207);
}

#mNav_calcpayment {
    background-color: rgba(200, 200, 255);
}

.dropdowninput {
    padding-left: 5px;
    width: 100%;
    height: 30px;
    color: rgba(55,55,55);
    outline: 2px solid rgba(77,77,77);
    border-radius: 10px;
    margin-top: 5px;
    margin-bottom: 20px;
    border: none;
    transition: 0.15s;
}

.dropdowninput:focus-visible {
    outline: 2px solid rgba(77,147,207);
}

.dropdowninput:disabled, .textboxinput:disabled {
    background-color: rgba(200,200,200, 0.5);
}

.buttoninput {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    color: rgba(255,255,255);
    background-color: rgba(97,187,97);
    height: 30px;
    /*min-width: 40px;*/
    width: auto;
    /*max-width: 125px;*/
    margin: auto;
    border-radius: 10px;
    border: none;
    transition: 0.2s;
}

.buttoninput:hover {
    background-color: rgba(77,147,77);
}

.buttoninput:disabled {
    background-color: rgba(177,177,177, 0.8) !important;
    color: rgba(255,255,255, 0.8);
}

.deletebutton {
    background: none !important;
    background-color: rgba(167,77,77) !important;
}

.deletebutton:hover {
    background-color: rgba(147,57,57) !important;
}

.closebuttoninput {
/*  display: flex;
    justify-content: center;
    color: rgba(255,255,255);
    background-color: rgba(167,77,77);
    height: 40px;
    font-size: 20px;
    font-weight: 300;
    text-align: center;
    line-height: 35px;
    min-width: 40px;
    width: fit-content;
    border-radius: 10px;
    border: none;
    transition: 0.2s;
    margin-left: auto;
    margin-bottom: -100%;
    z-index: 999;*/
}

.closebuttoninput:hover {
    background-color: rgba(147,57,57);
}

.gvtable {
    width: fit-content ;
    max-width: 100% !important;
}

.gvtable tr:first-of-type {
    position: sticky;
    background-color: rgb(27 117 217) !important;
    top: 0;
    z-index: 100;
}

.gvtable td:first-of-type > a {
    text-decoration: none;
    background-color: rgb(0 117 255);
    color: rgba(255,255,255) !important;
    padding: 2px 5px 2px 5px;
    transition: 0.2s;
}

.gvtable td:first-of-type > a:first-of-type {
    border-radius: 7px 0px 0px 7px;
}

.gvtable td:first-of-type > a:hover {
    background-color: rgb(0 92 200);
}

.gvtable tr {
    transition: 0.2s;
}

.gvtable tr:not(:first-of-type):hover {
    background-color: var(--insight-grey-lightest) !important;
}

.gvtable-header {
    font-size: 17px;
    position: fixed;
    width: inherit;
    margin-top: -25px;
    margin-left: -25px;
    z-index: 999;
    pointer-events: none;
    transition: 0.3s ease-in-out;
}

/*#mNav_content.offcanvasopen > .gvtable-header {
    margin-left: -225px;
}

.gvtable-header > div {
    max-width: 250px;
}*/

/*@media all and (max-width: 575px) {
    .gvtable-header {
        position: absolute;
    }

    .gvtable-header > div {
        margin-left: auto;
        margin-right: 13px;
        max-width: 200px;
    }
}*/

.borderunderline {
    border-bottom: 1px solid rgba(255,255,255);
    padding: 5px;
    padding-bottom: 10px;
    font-weight: 300;
    font-size: 20px;
    padding-left: 20px;
    margin-bottom: 10px;
    margin-top: 10px;
}

.input_container {
    max-width: 700px;
    height: min-content !important;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(77,77,77);
    border-radius: 10px;
    padding: 10px;
    /*box-shadow: -7px 7px 17px rgb(0 0 0 / 30%), 7px 7px 17px rgb(0 0 0 / 37%);*/
}

.tablecontainer_container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tableheader_container {
    padding: 10px;
    max-width: 700px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.modal-content {
    /*background-color: transparent;
    border: none;*/
}

#scrollUp {
    position: fixed;
    z-index: 999;
    width: 250px;
    height: 40px !important;
    background: linear-gradient(rgba(45,45,45), transparent);
    transition: 0.35s;
    cursor: pointer;
}

#scrollUp.top {
    opacity: 0;
    pointer-events: none;
}

#scrollDown {
    position: fixed;
    z-index: 999;
    top: calc(100% - 40px);
    height: 40px !important;
    width: 250px;
    background: linear-gradient(transparent, rgba(30,30,30));
    transition: 0.35s;
    cursor: pointer;
}

#scrollDown.bottom {
    opacity: 0;
    pointer-events: none;
}

@media all and (max-width: 575px) {
    #scrollDown, #scrollUp {
        width: 100%;
    }
}

.tableaccordion:not(.collapsed):hover, .tableaccordion:hover {
    background-color: rgb(17 97 197) !important;
    box-shadow: 0px 5px rgb(17 77 177) !important;
    pointer-events: all;
}

.tableaccordion, .tableaccordion:focus, .tableaccordion:not(.collapsed), .tableaccordion:active {
    border-radius: 0px 0px 5px 5px !important;
    background-color: rgb(27 117 217);
    box-shadow: 0px 5px rgb(17 97 197);
    font-weight: bold !important;
    pointer-events: all;
}

#tableControlsBody {
    background-color: rgb(255 255 255) !important;
    margin-bottom: 0px !important;
    border-radius: 0px;
    color: rgb(77 77 77) !important;
    pointer-events: all;
}

#tableControlsBody > div:nth-child(even) {
    background-color: rgb(247 246 243) !important;
}

#gvControlsBody {
    border-radius: 0px 0px 5px 5px !important;
    background-color: rgb(27 117 217);
    box-shadow: 0px 5px rgb(17 97 197);
    margin-bottom: 0px !important;
    color: rgb(255 255 255) !important;
    pointer-events: all;
}

.tableinput {
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(255,255,255);
    background: linear-gradient(130deg, rgba(97,187,97,0.925), rgba(67,157,87,0.925));
    background-color: rgba(255,255,255);
    height: 30px;
    min-width: 40px;
    margin: auto;
    width: 65%;
    border-radius: 10px;
    border: none;
    transition: 0.2s;
}

.tableinput:hover {
    background-color: rgba(77,77,77);
}

.boldlabel {
    font-weight: 500;
    display: inline;
}

.pageload {
    transition: 0s !important;
}

.toasttitle {
    color: rgba(255,255,255) !important;
    font-weight: 400 !important;
}

.toastnotification {
    border-radius: 10px !important;
}

.popuptitle {
    font-weight: 400 !important;
}

.popupnotification {
    font-weight: 400 !important;
    border-radius: 10px !important;
    box-shadow: -7px 7px 17px rgb(0 0 0 / 30%), 7px 7px 17px rgb(0 0 0 / 37%);
}

.popupconfirminput {
    background-color: #0d6efd !important;
    border-radius: 0.375rem !important;
    padding: 0.5rem 1rem !important;
    font-weight: 400 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.clickablerow {
    cursor: pointer;
}

/*.offcanvas.offcanvas-end {
    border-left: none !important;
}

.offcanvas.instantopen {
    transition: none !important;
}

.offcanvas-header {
    background-color: rgb(27 117 217);*/
/*min-height: 70px !important;*/
/*}

.offcanvas-body {
    direction: rtl;
    background-color: rgba(255,255,255);
    color: rgba(77,77,77);
}

.offcanvas-body .borderunderline {
    border-bottom: 1px solid rgba(77,77,77) !important;
}

.offcanvas-body .gvtable {
    margin-top: 0px !important;
    max-height: fit-content !important;
    direction: ltr;
    background-color: rgba(230,230,230);
}

.offcanvas-body .buttoninput {
    background: linear-gradient(130deg, rgba(97,187,97,0.925), rgba(67,157,87,0.925));
    background-color: rgba(255,255,255);
}

.offcanvas-body .buttoninput:hover {
    background-color: rgba(77,77,77);
}*/

.legendButton {
    position: fixed;
    right: -80px;
    display: inline-flex;
    z-index: 99;
    text-decoration: none;
    color: rgba(255,255,255);
    padding: 10px;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 125px;
    background-color: rgba(27,117,217);
    box-shadow: 0px 5px rgba(17,97,197), 7px 7px 7px rgb(0 0 0 / 20%), 7px 13px 7px rgb(0 0 0 / 27%);
    border: none;
    border-radius: 10px 0px 0px 10px;
    transition: right 0.4s, background-color 0.2s, box-shadow 0.2s;
}

.legendButton:hover {
    right: 0px;
    background-color: rgba(17,97,197);
    box-shadow: 0px 5px rgb(17 77 177),7px 7px 7px rgb(0 0 0 / 20%), 7px 13px 7px rgb(0 0 0 / 27%);
    color: rgba(255,255,255);
}

@media all and (min-width: 576px) {
    .legendButton {
        right: 0px;
    }
}

svg {
    transition: 0.2s;
}

.legendButton:hover svg {
    color: rgba(17,97,197);
}

.legendButton h2 {
    font-size: 16px;
    font-weight: 300;
    text-decoration: none;
    margin-bottom: 0px;
    margin-left: 15px;
}

/*@media all and (min-width: 1000px) {
    #mNav_content.offcanvasopen, #mNav_universalHeader.offcanvasopen, #universalHeader.offcanvasopen {
        margin-right: 400px !important;
    }

    #mNav_content, #mNav_universalHeader, #universalHeader {
        transition: margin-right 0.3s ease-in-out, margin-left 0.5s !important;
    }
}

@media all and (max-width: 575px) {
    #mNav_pagecontent_controlsOffcanvas {
        width: 100%;
    }
}*/

.accordion {
    --bs-accordion-inner-border-radius: 0px;
}

.accordion-collapse.collapsing, .accordion-collapse {
    transition: var(--offcanvas-animation);
}

.accordion-item, .accordion-header {
    background-color: transparent;
    border: none;
    padding: 0px;
    margin: 0px;
}

.accordion-button, .accordion-button:not(.collapsed) {
    background-color: var(--color-tertiary) !important;
    color: black;
    font-weight: 700 !important;
    transition: 0.18s !important;
    box-shadow: none !important;
}

.accordion-button::after {
    transition:  var(--offcanvas-animation);
}

.accordion-button:hover {
    background-color: var(--insight-blue) !important;
    color: white;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-icon);
}

.accordion-button:not(.collapsed):hover {
    background-color: rgba(47,107,167) !important;
}


/*** 
    BELOW ADDED BY BENDEV 09-2023 
    for offcanvas things, popover fixes,
    Google Material Icons, etc
*/

/* Form elements */
.form-control::-webkit-calendar-picker-indicator, .search-icon {
    transition: .3s;
    font-size: 20px !important;
    z-index: 100;
    color: black;
    opacity: 70%;
    user-select: none;
    position: absolute;
    right: 10px;
    top: 10px;
    background-color: #CBCBCB;
    padding: 10px;
    border-radius: 10px;
}

::-webkit-calendar-picker-indicator:hover, .search-icon:hover {
    opacity: 100%;
    cursor: pointer;
}

input:has(~ .search-icon):focus ~ .search-icon {
    background-color: #ed8123;
    color: white;
}

input[type="date"]:focus::-webkit-calendar-picker-indicator {
    background-color: #C6BD3F;
    filter: invert(100%);
}

input:has(~ .search-icon):focus ~ .search-icon,
input[type="date"]:focus::-webkit-calendar-picker-indicator {
    opacity: 100% !important;
}

/*input[type="date"] {
    padding-right: 55px !important;
}*/

/* Cute little up/down arrow thingy */
.up-arrow::after {
    content: "▴";
    font-weight: normal;
}

.down-arrow::after {
    content: "▾";
    font-weight: normal;
}

/* Popovers */
a.popover-link, a.popover-link:visited {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

a.popover-link:hover, a.popover-link:active {
    /* text-decoration: underline; */
    color: rgb(13 110 253);
}

.popover {
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,.1));
    z-index: 1000 !important;
}


/* Google Material icons */
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px; /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}

/* Google Material icons */
.material-icons-round {
    font-family: 'Material Icons Round';
    font-weight: normal;
    font-style: normal;
    font-size: 24px; /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}

/* SweetAlert modifications */
.swal2-title.popuptitle {
    font-size: 1.3rem;
}

#mainHeader .dropdown-menu {
    z-index: 1059 !important;
}

/* Some alerts styling */
#mNav_alerts_counter {
    max-width: 45px;
}

.carousel-item {
    transition: var(--offcanvas-animation);
}
/* Icons in header that are links */
.material-icons-round.nav-link, .nav-link > .material-icons-round {
    transition: var(--generic-transition);
    opacity: 1;
    border-radius: 100%;
}

.material-icons-round.nav-link:hover,
.nav-link:has(.material-icons-round):hover > .material-icons-round {
    opacity: 1;
}

/* Menu buttons with subtle styling */
body:has(#controlsOffcanvas.visible) #btn_controlsOffcanvas .material-icons-round,
body:has(#controlsOffcanvas.showing) #btn_controlsOffcanvas .material-icons-round,
body:has(#menuOffcanvas.visible) #btn_menuOffcanvas .material-icons-round,
body:has(#menuOffcanvas.showing) #btn_menuOffcanvas .material-icons-round {
    color: var(--insight-red);
    /* text-shadow: 0px 0px 5px #c1e6f38c; */
}

body:has(#controlsOffcanvas.hiding) #btn_controlsOffcanvas .material-icons-round {
    color: white;
    text-shadow: 0px 0px 5px #ffffff00;
}

/* Offcanvas links */
#menuOffcanvas .nav-link,
#controlsOffcanvas .nav-link {
    transition: var(--generic-transition) !important;
    background-color: rgba(33,37,41,0);
}

#menuOffcanvas .nav-link:hover,
#controlsOffcanvas .nav-link:hover {
    color: white !important;
    background-color: rgba(33,37,41,0.9);
}

#controlsOffcanvas .nav-link {
    color: black !important;
}

.link-header {
    font-weight: bold;
    font-size: 1.3rem;
    text-decoration: underline;
}

.menu-group, .menu-solo {
    font-weight: bold !important;
    text-align: start;
    background-color: var(--color-fourth);
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

.menu-solo::after {
    display: none;
}

.link-sub {
    font-size: 1rem;
}

/* Accordion overrides */
#menuOffcanvas .accordion, #menuOffcanvas .accordion-item,
#menuOffcanvas .accordion-button, #menuOffcanvas .menu-button {
    text-align: start;
    border-radius: var(--btn-radius) !important;
    border: 0px !important;
    margin: 2px 0px !important;
    transition: var(--offcanvas-animation);
    background-color: transparent !important;
    color: white !important;
    transition: .2s;
}

#menuOffcanvas .accordion-button::after {
    filter: invert() brightness(1);
}

#menuOffcanvas .accordion-button:hover, 
#menuOffcanvas .menu-button:hover {
    background-color: var(--insight-blue) !important;
}

#menuOffcanvas .menu-button {
    margin-left: 30px !important;
}

/*#menuOffcanvas .accordion, #menuOffcanvas .accordion-item {
    text-align: start !important;
    border-radius: 0px !important;
    border: 0px !important;
    transition: var(--offcanvas-animation);
    background-color: #ffffff00;
    color: white;
}

#menuOffcanvas .accordion-button {
    text-align: start !important;
    transition: var(--generic-transition);
    border-bottom: 2px solid #ffffff00 !important;
    background-color: var(--insight-grey-dark);
    font-weight: 500;
}

.menu-button {
    border: 0px !important;
    text-align: start !important;
    border-radius: 6px !important;
    transition: .3s !important;
    color: white !important;
    background-color: rgba(255, 255, 255, 0%) !important;
}

.menu-button:hover {
    color: white !important;
    background-color: var(--insight-blue) !important;
    opacity: 1 !important;
}

#menuOffcanvas .accordion-button:focus {
    box-shadow: none !important;
}

#menuOffcanvas .accordion-button::after {
    transition: var(--offcanvas-animation);
    filter: invert(1);
}

#menuOffcanvas .accordion-button:not(.collapsed) {
    color: inherit;*/
    /* background-color: #00000000 !important; */
    /*box-shadow: none !important;
    border-bottom: 2px solid #ffffff !important;*/
    /* border-radius: 6px 6px 0px 0px; */
/*}

#menuOffcanvas .accordion-button:not(.collapsed)::after {
    color: inherit !important;
    background-image: var(--bs-accordion-btn-icon);
}

#menuOffcanvas .accordion-item:has(> .accordion-button:not(.collapsed)) + .accordion-item > .accordion-button,
#menuOffcanvas .accordion-item:nth-of-type(2) > .accordion-button {
    border-radius: 6px 6px 0px 0px;
}

#menuOffcanvas .accordion-item:has(> .accordion-button:not(.collapsed)) + .accordion-item:last-of-type > .accordion-button.collapsed {
    border-radius: 6px !important;
}

#menuOffcanvas .accordion-item:has(> .accordion-button.collapsed) + .accordion-item:last-of-type > .accordion-button.collapsed {
    border-radius: 0px 0px 6px 6px !important;
}

#menuOffcanvas #menu #back {
    border-radius: 6px !important;
    overflow: hidden;
    position: sticky;
    top: 8px;
    margin-bottom: 8px !important;
    z-index: 50;
}

#menuOffcanvas #menu #back > button {
    background-color: rgb(60 110 165 / 100%) !important;
}*/

/* Main portion of page */
/* #contentpage {
    position: fixed !important;
    bottom: 0;
    left: 0px;
    right: 0px;
    overflow-y: auto;
    transition: var(--offcanvas-animation);
    width: 100vw;
} */

#contentpage > div > div {
    margin: 0px;
    padding: 0px;
}

/* Menu shadows */
.shadow-menu {
    filter: drop-shadow(0px 5px 20px rgba(0,0,0));
}

/* Fixes offcanvases overlapping user dropdown */
#mainHeader {
    z-index: 1050 !important;
}

/* If you want to flip something 90 degrees have at it */
.flip-h {
    transform: scale(-1, 1);
    -moz-transform: scale(-1, 1);
    -webkit-transform: scale(-1, 1);
    -o-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

/* On load, disable animations on everything */
.disable-animations {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

.disable-animations::after, button.disable-animations::after {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

/* Keyboard icons */
.key-icon {
    font-family: 'Fira Mono', 'monospace' !important;
    font-weight: 500;
    font-size: .8rem;
    border-radius: 5px;
    background-color: rgb(245 245 245 / 80%);
    border: 1px solid #b1b1b1;
    padding: 2px 4px;
    filter: drop-shadow(0px 1px 1px grey);
    margin: 0px 3px;
}

.pac-container.pac-logo::after {
    display: none;
}

.pac-container > .pac-item {
    padding: 4px 6px;
    border-radius: 6px;
    border: none;
    margin: 5px;
    line-height: normal;
    text-overflow: ellipsis;
}

.pac-container > .pac-item:hover, .pac-container > .pac-item.pac-item-selected {
    background-color: #c3daff;
    cursor: pointer;
    margin-left: 10px;
}

.pac-container .pac-matched {
    background-color: var(--highlight-yellow);
    border-radius: 2px;
}

.pac-container > .pac-item, .pac-container > .pac-item > * {
    transition: .1s;
    font-size: .85rem !important;
}

.pac-container > .pac-item > .pac-item-query {
    margin-right: 5px;
}

.pac-container > .pac-item > .pac-item-query + span {
    width: 100%;
    font-style: italic;
}

.pac-container > .pac-item > .pac-icon {
    display: none;
}

/* Scheduling iframe */
#scheduleIframe {
    width: calc(100vw - 200px);
    max-width: 750px;
    max-height: calc(100vh - 200px);
    border: none;
    border-radius: 10px 10px 0px 0px;
}

.swal2-modal:has(.swal2-title > #scheduleIframe) {
    width: fit-content !important;
    background-color: rgba(255,255,255) !important;
}

.swal2-title:has(#scheduleIframe) {
    padding: 0px !important;
}

/* Send signature iframe */
#sendSignatureIframe {
    width: calc(100vw - 200px);
    max-width: 400px;
    max-height: calc(100vh - 200px);
    border: none;
    margin-top: 0.75rem;
}

/* iFrame modal */

#iFrame_mdl_iFramePopup {
    width: 100%;
    height: 100%;
}

.swal2-modal:has(.swal2-title > #sendSignatureIframe) {
    width: fit-content !important;
    background-color: rgba(255,255,255) !important;
}

.swal2-title:has(#sendSignatureIframe) {
    padding: 0px !important;
}

/* Inactive dropdownlist items */
.inactive-item {
    font-weight: bold;
    background-color: rgb(255, 219, 118);
}

.form-floating:has(select .inactive-item)::after {
    content: "Inactive item";
    font-size: .8rem;
    font-weight: 600;
    background-color: rgb(255 218 116 / 80%);
    padding: 0px 7px;
    border-radius: 8px 8px 0px 0px;
    border: 1px solid rgb(232 179 30);
    border-bottom: none;
    font-style: italic;
    display: block;
    position: absolute;
    top: -1.232rem;
    right: 15px;
    z-index: 50;
}

/* Modals */
.modal-lg .modal-content {
    min-height: 85vh !important;
    max-height: 85vh !important;
}
.modal-xl .modal-content {
    min-height: 92vh !important;
    max-height: 92vh !important;
}

.modal-lg .modal-body {
    max-height: 100%;
    overflow: auto;
    position: relative;
}

/* Quick search */
#quickSearchResultsContainer, #getRecentBuidingsResultsContainer {
    overflow: auto;
    min-height: 0;
}
/*
.quick-search-item {
    float: left;
    padding: 4px 8px;
    background-color: #c9e3ff;
    border-radius: 8px;
    margin: 3px;
}

.quick-search-item-title {
    font-size: .75rem;
    font-weight: 600;
    margin-bottom: -5px;
    padding: 0px;
}

.quick-search-item-value {
    font-style: italic;
}*/

.quick-search-match {
    background-color: var(--insight-yellow-highlight);
}

.quick-search-view {
    height: min-content !important;
}

.quick-search-view .material-icons-round {
    font-size: .8rem !important;
}

/* Clear field button */
.form-control-clear, .form-control-load {
    position: absolute;
    right: 13px;
    top: 13px;
    cursor: pointer;
    padding: 5px;
    opacity: 70%;
}

.form-control-clear:hover, .form-control-load:hover {
    opacity: 100%;
}

input:placeholder-shown ~ .form-control-clear, input:disabled ~ .form-control-clear {
    display: none;
}

/* Background colors */
.bg-red {
    background-color: var(--insight-red) !important;
}

.bg-red-dark {
    background-color: var(--insight-red-dark) !important;
}

.bg-yellow {
    background-color: var(--insight-yellow) !important;
}

.bg-yellow-dark {
    background-color: var(--insight-yellow-dark) !important;
}

.bg-yellow-highlight {
    background-color: var(--insight-yellow-highlight) !important;
}

.bg-purple {
    background-color: var(--insight-purple) !important;
}

.bg-purple-dark {
    background-color: var(--insight-purple-dark) !important;
}

.bg-blue {
    background-color: var(--insight-blue) !important;
}

.bg-blue-dark {
    background-color: var(--insight-blue-dark) !important;
}

.bg-green {
    background-color: var(--insight-green) !important;
}

.bg-green-dark {
    background-color: var(--insight-green-dark) !important;
}

.bg-black {
    background-color: var(--insight-black) !important;
    color: white !important;
}

.bg-grey-dark {
    background-color: var(--insight-grey-dark) !important;
    color: white !important;
}

.bg-grey-medium {
    background-color: var(--insight-grey-medium) !important;
}

.bg-grey-lightish {
    background-color: var(--insight-grey-lightish) !important;
}

.bg-grey-light {
    background-color: var(--insight-grey-light) !important;
}

.bg-grey-lightest {
    background-color: var(--insight-grey-lightest) !important;
}

.bg-offwhite {
    background-color: var(--insight-white) !important;
}

/* Button Styling */
.btn {
    border-radius: var(--btn-radius) !important;
    border: none !important;
    font-family: inherit !important;
    box-shadow: none;
    filter: none;
    transition: .1s;
    font-weight: 600;
    color: white !important;
}

.btn:hover {
    filter: none;
}

.btn-red {
    background-color: var(--insight-red) !important;
}

.btn-red:hover {
    background-color: var(--insight-red-dark) !important;
}

.btn-yellow {
    background-color: var(--insight-yellow) !important;
}

.btn-yellow:hover {
    background-color: var(--insight-yellow-dark) !important;
}

.btn-yellow-highlight {
    background-color: var(--insight-yellow-highlight) !important;
}

.btn-purple {
    background-color: var(--insight-purple) !important;
}

.btn-purple:hover {
    background-color: var(--insight-purple-dark) !important;
}

.btn-blue {
    background-color: var(--insight-blue) !important;
}

.btn-blue:hover {
    background-color: var(--insight-blue-dark) !important;
}

.btn-green {
    background-color: var(--insight-green) !important;
}

.btn-green:hover {
    background-color: var(--insight-green-dark) !important;
}

.btn-grey-dark:hover {
    background-color: var(--insight-black) !important;
}

.btn-grey-medium {
    background-color: var(--insight-grey-medium) !important;
}

.btn-grey-medium:hover {
    background-color: var(--insight-grey-dark) !important;
}

.btn-grey-lightish {
    background-color: var(--insight-grey-lightish) !important;
    color: var(--insight-black) !important;
}

.btn-grey-lightish:hover {
    background-color: var(--insight-grey-medium) !important;
}

.btn-grey-light {
    background-color: var(--insight-grey-light) !important;
    color: var(--insight-black) !important;
}

.btn-grey-light:hover {
    background-color: var(--insight-grey-lightish) !important;
}

.btn-grey-lightest {
    background-color: var(--insight-grey-lightest) !important;
    color: var(--insight-black) !important;
}

.btn-grey-lightest:hover {
    filter: var(--insight-grey-light);
}

.btn-offwhite {
    background-color: var(--insight-white) !important;
}

/* Text colors */
.text-red {
    color: var(--insight-red) !important;
}

.text-red-dark {
    color: var(--insight-red-dark) !important;
}

.text-yellow {
    color: var(--insight-yellow) !important;
}

.text-yellow-dark {
    color: var(--insight-yellow-dark) !important;
}

.text-yellow-highlight {
    color: var(--insight-yellow-highlight) !important;
}

.text-purple {
    color: var(--insight-purple) !important;
}

.text-purple-dark {
    color: var(--insight-purple-dark) !important;
}

.text-blue {
    color: var(--insight-blue) !important;
}

.text-blue-dark {
    color: var(--insight-blue-dark) !important;
}

.text-green {
    color: var(--insight-green) !important;
}

.text-green-dark {
    color: var(--insight-green-dark) !important;
}

.text-black {
    color: var(--insight-black) !important;
}

.text-grey-dark {
    color: var(--insight-grey-dark) !important;
}

.text-grey-medium {
    color: var(--insight-grey-medium) !important;
}

.text-grey-lightish {
    color: var(--insight-grey-lightish) !important;
}

.text-grey-light {
    color: var(--insight-grey-light) !important;
}

.text-grey-lightest {
    color: var(--insight-grey-lightest) !important;
}

.text-offwhite {
    color: var(--insight-white) !important;
}

/* Nav links */
.nav-link {
    transition: .1s !important;
}

.nav-link.active {
    background-color: var(--insight-blue) !important;
}

/* Border radius overrides */
input:not([type="checkbox"]):not(.dropdown-item), select, textarea, .list-group {
    border-radius: var(--btn-radius) !important;
}

/* Form elements */
.form-check-input:checked {
    background-color: var(--insight-blue) !important;
    border-color: var(--insight-blue) !important;
}

.form-control-small-dark {
    border: 1px solid var(--insight-grey-medium);
    background-color: var(--insight-grey-dark);
    transition: .1s;
    color: white;
    padding: 2px 6px !important;
    height: max-content;
    border-radius: var(--btn-radius);
}

/* Border colors */
.border-red {
    border-color: var(--insight-red) !important;
}

.border-red-dark {
    border-color: var(--insight-red-dark) !important;
}

.border-yellow {
    border-color: var(--insight-yellow) !important;
}

.border-yellow-dark {
    border-color: var(--insight-yellow-dark) !important;
}

.border-yellow-highlight {
    border-color: var(--insight-yellow-highlight) !important;
}

.border-purple {
    border-color: var(--insight-purple) !important;
}

.border-purple-dark {
    border-color: var(--insight-purple-dark) !important;
}

.border-blue {
    border-color: var(--insight-blue) !important;
}

.border-blue-dark {
    border-color: var(--insight-blue-dark) !important;
}

.border-green {
    border-color: var(--insight-green) !important;
}

.border-green-dark {
    border-color: var(--insight-green-dark) !important;
}

.border-black {
    border-color: var(--insight-black) !important;
}

.border-grey-dark {
    border-color: var(--insight-grey-dark) !important;
}

.border-grey-medium {
    border-color: var(--insight-grey-medium) !important;
}

.border-grey-light {
    border-color: var(--insight-grey-light) !important;
}

.border-offwhite {
    border-color: var(--insight-white) !important;
}

/* Modal styles */
.modal-body, .modal-footer {
    transition: .3s;
}

.modal.disabled .modal-body, .modal.disabled .modal-footer {
    filter: brightness(0.8);
    pointer-events: none;
}

/* Update panels */
.panel {
    transition: filter .3s;
}
.panel.panel-loading {
    pointer-events: none;
    filter: brightness(.7);
}


/* Disabled inputs/selects/checkboxes */
:is(.control-disabled, .control-disabled-dark, .control-disabled-plaintext, :disabled):is(input, select, button, .btn, textarea),
:is(.control-disabled, .control-disabled-dark, .control-disabled-plaintext, :disabled):is(input, select, button, .btn, textarea) + :is(label, span:after) {
    pointer-events: none;
}

:is(button, .btn, input[type="button"], input[type="submit"]):is(:disabled, .control-disabled) {
    filter: brightness(.7) saturate(.8);
    opacity: .9 !important;
}

.disabled-legible, input.dollar-amt:disabled + span:after {
    color: black !important;
}

:is(.control-disabled, :disabled):not(:is(button, .btn, input[type="button"], input[type="submit"])) {
    background-color: var(--insight-grey-light) !important;
    border: 1px solid rgba(0,0,0,0%);
}

.control-disabled-plaintext {
    background-color: white !important;
    border: none !important;
}

select.control-disabled-plaintext {
    background-image: none !important;
}

.control-disabled-plaintext[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
}

.control-disabled-dark {
    background-color: rgb(69 69 69) !important;
    color: rgb(255 255 255) !important;
    border: 0px;
}

/* Spinners */

/* 
    Put a spinner inside a div with only this class 
    Make sure the parent element is position: relative;
*/
.center-spinner-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
